package JavaEE_notes.common_API;

import java.util.Calendar;
import java.util.Date;

/**
 * @description Calendar API 示例
 * @author TaiZai
 * @data 2024/9/20 16:01
 */
public class api_Calendar {
    public static void main(String[] args) {
        // 1、得到系统此刻时间对应的日历对象
        Calendar now = Calendar.getInstance();
        System.out.println(now);

        // 2、获取日历中的某个信息
        int year = now.get(Calendar.YEAR); // 年份
        int month = now.get(Calendar.MONTH) + 1; // 月份
        int day = now.get(Calendar.DAY_OF_MONTH); // 日期
        int hour = now.get(Calendar.HOUR_OF_DAY); // 小时
        int minute = now.get(Calendar.MINUTE); // 分钟
        int second = now.get(Calendar.SECOND); // 秒
        int  week = now.get(Calendar.DAY_OF_WEEK); // 星期
        int days = now.get(Calendar.DAY_OF_YEAR); // 年中的第几天
        System.out.println("now: " + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second + " " + week + " " + days);

        // 3、拿到日历中记录的日期对象
        Date d = now.getTime();
        System.out.println(d);

        // 4、拿到时间毫秒值
        long time = now.getTimeInMillis();
        System.out.println(time);

        // 5、对日历进行修改
        now.set(Calendar.YEAR, 2024);
        now.set(Calendar.MONTH, 8);
        now.set(Calendar.DAY_OF_MONTH, 20);
        System.out.println(now.getTime());

        // 6、为某个信息增加或则减少多少
        now.add(Calendar.DAY_OF_YEAR, 100); // 增加 100 天
        now.add(Calendar.DAY_OF_YEAR, -10); // 减少 10 天
        now.add(Calendar.DAY_OF_MONTH, 6);  // 增加 6 天
        now.add(Calendar.HOUR, 12);         // 增加 12 小时
        now.set(2026, 11, 22);    // 设置年月日
        System.out.println(now.getTime());
    }
}
